<template>
  <div>
    <ul class="todo-main">
      <!-- (3) 原来是直接在父组件上for循环传给子组件的
           (4) 原来for循环的个数就等于被放v-for这个标签的个数
           (5) 别忘了传值的时候前面那个才是要传的值名字，后面那个是数据源
      -->
      <transition-group name="todo" appear>
        <MyItem v-for="todoObj in todos" :key="todoObj.id" :todo="todoObj" />
      </transition-group>
    </ul>
  </div>
</template>

<script>
import MyItem from "./MyItem.vue";

export default {
  name: "MyList",
  components: { MyItem },
  props: ["todos"],
};
</script>

<style>
/*main*/
.todo-main {
  margin-left: 0;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0px;
}
.todo-empty {
  height: 40px;
  line-height: 40px;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding-left: 5px;
  margin-top: 10px;
}
 /* 进来(显示)时的动画 */
 .todo-enter-active{
     animation: jacezhou 1s linear;
  }

  /* 离开(不显示)时的动画 */
  .todo-leave-active{
     animation: jacezhou 1s linear reverse;
  }

  @keyframes jacezhou {
     from{
       /* 注意这只是起始位置，并不是移动效果，刚开始在-100%的位置 */
       transform: translateX(100%);
     }
     to{
       transform: translateX(0px);
     }
  }
</style>
